package com.cskaoyan.file.api;

import java.io.File;
import java.util.Arrays;

/*
        高级获取功能: 都是在获取目标目录中子文件或者子目录信息
            public String[] list()
             a. 返回一个字符串数组，这些字符串指定当前目录中的文件和目录。
             b. 如果此抽象路径名不表示一个目录，那么此方法将返回 null
             c. 否则返回一个字符串数组，每个数组元素对应目录中的每个文件或目录
             d. 每个字符串是一个文件名，而不是一条完整路径

            public File[] listFiles()
             a. 返回一个File数组，这些File对象表示此目录中的文件或目录。
             b. 如果此抽象路径名不表示一个目录，那么此方法将返回 null
             c. 否则返回一个 File 对象数组，每个数组元素对应目录中的每个文件或目录
 */
public class Demo6HighGet {

    public static void main(String[] args) {
        // 目标目录: d:\\demo
        File dir = new File("d:\\demo");
        //public String[] list()
        //String[] dirList = dir.list();
        //System.out.println(Arrays.toString(dirList)); //[a.txt, empty, first]

        // File[] listFiles()
        //File[] files = dir.listFiles();
                                                     // toString
        //System.out.println(Arrays.toString(files)); //[d:\demo\a.txt, d:\demo\empty, d:\demo\first]


        // 针对表示文件的File对象
        //File file = new File("d:\\demo\\a.txt");
        // public String[] list()
        //String[] fileList = file.list();
        //System.out.println(Arrays.toString(fileList));

        // public File[] listFiles()
        //File[] files = file.listFiles();
        //System.out.println(files);

        // 空目录
        //File emptyDir = new File("d:\\demo\\empty");
        // 如何判断一个目录是空目录？ 返回的数组长度为0
        // public String[] list()
        //String[] emptyList = emptyDir.list();
        //System.out.println(Arrays.toString(emptyList));
        //System.out.println(emptyList.length);

        //public File[] listFiles()
//        File[] files = emptyDir.listFiles();
//        System.out.println(files.length);

        File file = new File("a.txt");
        System.out.println(file);
        System.out.println(file.getAbsolutePath());


    }
}
